package tech.aistar.corejava.day15.pool;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * @Author: lya
 * @Description: 本类的作用描述:可缓存线程池，先查看池中有没有以前建立的线程，
 * 如果有，就直接使用。如果没有，就建一个新的线程加入池中，
 * 缓存型池子通常用于执行一些生存期很短的异步型任务
 * @CreateDate: 2019/8/4
 * @Version: 1.0
 */
public class CacheThreadPoolDemo {
    public static void main(String[] args) {
        //线程池的管理的类 - ExecutorService
        //缓冲池中可以存放多少线程 - 理论上是没有上限的
        ExecutorService executorService = Executors.newCachedThreadPool();

        for (int i = 0; i < 10; i++) {
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            executorService.execute(()->{
                System.out.println(Thread.currentThread().getName()+"正在执行!");
            });
        }

    }
}